Conventionally, a video signal recorder such as a VCR has been used as a time shift machine that records a broadcast program in advance to allow a viewer to play the recorded program when the view has time to view. A method is also under development for remotely programming a video signal recorder, which is a controlled device, to record a user-requested program, for example, by transmitting an electronic mail to the video signal recorder.
However, even if the video signal recorder, for example, a VCR, can be programmed to record a program remotely, the specified program cannot be recorded satisfactorily if the blank area of recording videotape is insufficient or if the requested recording time overlaps with an already-requested recording time.
Therefore, to remotely program a video signal recorder in the home for recording a program by connecting it to the Internet via a router, the video signal recorder must be programmed for recording via two-way communication, for example, by transmitting the information stored in the video signal recorder, such as existing timer recording information, recording mode, and available recording medium amount, to a terminal.
That is, it is required that an electronic mail describing a control operation be sent to the video signal recorder and that the video signal recorder that receives the electronic mail perform the processing according to the received mail and return the processing result via an electronic mail for use in timer recording.
Such a transmission is disclosed in Japanese Patent Laid-Open Publication No. 2002-135858 which describes the following method. A remotely operated device sends information on a controlled apparatus to a terminal. Based on the received information, the terminal generates a control operation instruction signal for the controlled apparatus. The terminal transmits the control operation instruction signal to the remotely operated device to operate the controlled apparatus via the remotely operated device.
However, this method involves cumbersome steps for allocating a recording area for recording a program to be recorded. For example, to select an unnecessary recorded program from already-recorded programs for erasing the area, an electronic mail must be sent and received several times. For example, an electronic mail is first sent to obtain a list of recorded programs, a program to be erased is selected from the list of programs returned by the mail and an electronic mail is sent to erase the area and, after the erasure processing result mail is received, an electronic mail for programming the recorder to record a program is sent. It is difficult to say that this system is a preferable timer recording operation system.
In view of this, a method is devised to directly control a video signal recorder (VCR) via the Internet without using electronic mails. In this case, a home VCR is controlled by connecting it to the Internet via a home gateway. A control system connected to the Internet for operation requires enhanced security for the home gateway to prevent the VCR from being remotely operated via a malicious connection.
For example, Japanese Patent Laid-Open Publication No. 2002-77274 describes the following. Communication is performed via an access server connected to the Internet. A terminal can connect to the home gateway only when it is successfully authenticated by the access server. The terminal sends a control message to a VCR via the home gateway to control the VCR.
Control information to be given to a controlled device connected to the Internet is transmitted from the terminal as a control message specifying a global IP address. Even when a controlled device in a user's home is connected to the Internet via a path selection device such as a home gateway, the operated device is remotely controlled with the specified global IP (Internet Protocol) address of the device.
Today, IP addresses are allocated as IPv4 (Internet Protocol version 4) addresses in most cases. Under IPv4 in which a global IP address is managed by 32 bits, only about 4.3 billions of addresses can be defined.
Therefore, global IP addresses are limited and all apparatuses connected to the Internet cannot have global IP addresses. In a standard home, a global IP address that is obtained from a provider is usually shared among a plurality of PCs.
To solve this problem, a method is developed and used in which a router having the NAT (Network Address Translator) function is used to allow personal computers and controlled devices with no global IP addresses to communicate with a server connected to the Internet.
Normally, either a fixed global IP address or a dynamic global IP address that has not a fixed IP address value is allocated to a router. A router allocates a private address to a computer, which is connected to a private network via the router, for controlling the connection in the private network.
In response to a request from a computer in the private network to connect to the Internet, the router replaces the private address of the computer with its own global IP address and transmits the request to the Internet for connection to a desired server.
The response from the server is returned to the global IP address of the router. Next, the router, which receives the returned data, replaces the global IP address of the data with the private address of the computer and transfers the data to the computer connected previously to the server.
As described above, a router transmits a connection request signal, received from a computer connected to a home network in the home, to an apparatus connected to the Internet and transfers data, returned in response to the transmission, to the computer. Therefore, a computer with no global IP address can use the NAT function of a router to communicate with an apparatus connected to the Internet.
This NAT function solves the problem of insufficient global IP addresses and makes Internet communication possible. However, note that communication to and from a computer in a home network via the NAT function can be executed only when the computer starts the communication.
Meanwhile, it is difficult for a computer connected to the Internet to connect to a computer connected to a router having the NAT function because of the limitation of the NAT function. That is, the problem is that a computer connected to the Internet cannot start communication with a computer connected to a router. This problem is the so-called NAT traversal problem. An attempt is made to solve the NAT traversal problem (For example, see “Limit of NAT” in September 2002 issue of NIKKEI BYTE, Nikkei Business Publications, PP. 92-107).
In the mean time, a plurality of controlled devices, each connected to a home LAN (private network) configured using a router having the NAT function and each having a private IP address, can share the global IP address allocated to the router to access the Internet. However, it is difficult for a terminal connected to the Internet to start connection to a controlled device having a private IP address as described above and, even when a router with an extended NAT function is used, the number of connectable apparatuses is limited in many cases.
In view of the foregoing, the present invention provides a method that allows an existing and permanently Internet-connected router to be used and that does not require a special communication language to be used for the router for solving the NAT traversal problem. In addition, even if the HTTP (HyperText Transfer Protocol) server protocol currently used as the standard protocol is used, the method requires only a partial change in the handling of the protocol but not a major change in the software that uses the protocol. In addition, the method allows a control terminal connected to the Internet to start transmitting control information to a controlled device connected to a private network for executing the control operation.
Furthermore, the present invention aims to provide a control information transmission method that allows a plurality of controlled devices to connect to a router and, even when a firewall is installed between a controlled apparatus and the Internet, allows an Internet-connected terminal to start two-way communication for control operations. In addition, the present invention aims to configure an intermediary server connected to the Internet for transmission of the control information as well as a controlled device controlled by the terminal.